<?php

/**
* If user is not logged in, he's redirected to login page
*
* @param $app
* @return callable
*/
$authenticate = function($app) {
    return function() use ($app) {
        if (!isset($_SESSION['email'])) {
            $app->flash('error', 'Login required');
            $app->redirect($app->urlFor('login'));
        }
    };
};
/**
 * Destroy the session, done on logout
 */
function destroySession(){
    if (!isset($_SESSION)) {
        session_start();
    }
    // Unset all of the session variables.
    $_SESSION = array();

    // If it's desired to kill the session, also delete the session cookie.
    // Note: This will destroy the session, and not just the session data!
    if (ini_get("session.use_cookies")) {
        $params = session_get_cookie_params();
        setcookie(session_name(), '', time() - 42000,
            $params["path"], $params["domain"],
            $params["secure"], $params["httponly"]
        );
    }

    // Finally, destroy the session.
    session_destroy();
}

/**
 * Validate credentials
 * 
 * @param string $email
 * @param string $password
 * @return boolean
 */
function validateLogin($email, $password){
    if($password == "") {
        return false;
    }
    if($email == "" OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {
        return false;
    }
    return true;
}

/**
 * Autoload Slim, Twig and Bootstrap the app
 */
require_once '../backend/vendor/autoload.php';
require_once '../backend/app/bootstrap.php';


/**
 * Run the app
 */
session_start();
$app->run();